#!groovy

@Library('opslibrary')_

    def map = [:]

    // git 参数
    map.put('git_credentials_id', 'jenkins_git_id')
    map.put('git_url', 'http://127.0.0.1:10080/dispute/manage-pro.git')
    map.put('git_default_branch','dev')  // 默认选择构建的分支
    map.put('change_profile_dir','0')  // 是否修改git仓库根路径，不修改置空
    map.put('git_profile_path','fengqiao-ui/')  // git 仓库下存在子目录需要编译拼接(如果不需要切换写空值""")

    // 项目名称 如果是物理部署，会通过jar包和启动脚本名称引用
    map.put('project_name','manage-pro') // vue项目：拼接部署目录 $vue_server_path/$env/$project_name

    // dingtalk cred 用于发送构建失败通知
    map.put('robotId', 'dingtalk')

    // ----------------- maven 构建参数 -----------------
    // mvn build环境参数 -Ptest -Pproduction nobuildconfig
    map.put('mvn_param', '') // -Ptest
    map.put('mvn_dev_param', 'nobuildconfig') // -Ptest
    map.put('mvn_test_param', 'nobuildconfig')
    map.put('mvn_pro_param', 'nobuildconfig')

    // ----------------- vue 构建参数 -----------------
    // vue build参数 node npm/cnpm
    map.put('nodever', 'node14')
    map.put('nodecmd', 'cnpm')
    map.put('nodebuildtag', ':stage')  // npm 构建需要参数的情况，拼接

    // ----------------- docker 构建参数 -----------------
    // docker build
    map.put('dhub_cred', 'ali-hub-zhangyu')
    map.put('registry', 'registry-vpc.cn-beijing.aliyuncs.com')
    map.put('image_name', 'bangyingpingtai/lawyer-tenant')
    map.put('dockersvc_type', 'jar')
    map.put('dockerfilename', 'dockerfile/lawyer-tenant-manager-back_dockerfile')

    // ----------------- vue部署 构建参数 -----------------
    // vue nginx deploy参数(通过环境识别目录 如/data/nginx/html/dev/项目名 )
    map.put('vue_server_path', '/data/nginx/html/')

    // vue k8s deploy参数(通过环境识别目录/home/wwwroot/环境/项目名 )
    map.put('vue_k8sserver_path', '/home/wwwroot/')

    // ----------------- k8s yaml部署 构建参数 -----------------
    // k8s deploy
    map.put('k8s_conn_yaml', 'bangying-k8s')
    map.put('deploy_yaml', 'dispute-pre2-manage-api.yaml')
    map.put('k8s_namespace', 'dispute-pre2')

    // ----------------- ssh conn 构建参数 -----------------
    // ssh connect
    map.put('ssh_name', 'ceshi-ssh')
    map.put('ssh_host', '172.30.10.219')
    map.put('ssh_port', 61122)
    map.put('ssh_cred', 'ceshi-ssh')

    // -----------------  docker-compose部署 构建参数 -----------------
    // docker deploy(通过环境识别目录/home/bangyingadmin/apps/环境/项目名 )
    map.put('d_compose_path', '/home/bangyingadmin/apps/')

    // ----------------- ansible部署 构建参数 -----------------
    // anible deploy 参数(通过拼接构建选择将执行的主机组 如dilf-test)
    map.put('ansible_hosts_file', '/home/jenkins/agent/ansible/hosts')
    map.put('ansible_host', 'dilf')  // ansible_host+环境名称test 拼接

    // ----------------- 对应环境部署方式选择 构建参数 -----------------
    // env deploy 参数 k8s ssh ansible nodeploy
    map.put('pre_deploy', 'nodeploy')
    map.put('dev_deploy', 'nodeploy')
    map.put('test_deploy', 'nodeploy')
    map.put('pro_deploy', 'nodeploy')

    // 开发语言 vue java 判断走那个Jenkins vars逻辑
    map.put('lang', 'java')

    if (map.lang == 'vue') {
    nodecall(map)
    }
    if (map.lang == 'java') {
    mavencall(map)
    }
